# 求出区间 [a,b] 以内所有满足下列条件的整数:
# 该整数是一个素数；
# 其各位数字之和与它的平方数的各位数字之和相等

# 判断一个整数n是不是素数
def isPrime(n):
    # 小于2的数不是素数
    if n < 2:
        return False
    # 2是唯一的偶数素数
    if n == 2:
        return True
    # 排除所有偶数
    if n % 2 == 0:
        return False
    # 检查奇数因子
    for i in range(3, int(n**0.5) + 1, 2):
        if n % i == 0:
            return False
    return True

# 求一个整数n的各位数字之和
def sumN(n):
    # 将整数转换为字符串，然后遍历每个字符，转换回整数并累加
    return sum(int(digit) for digit in str(n))

if __name__ == '__main__':
    num_start = eval(input())
    num_end   = eval(input())

    for num in range(num_start,num_end):
        if isPrime(num) and sumN(num)==sumN(num**2):
            print(num)
